@echo off
chcp 65001 > nul
title 图片定制工具 - 启动器

echo.
echo ===============================================
echo            🎨 图片定制工具启动器
echo ===============================================
echo.

:: 设置项目目录
set PROJECT_DIR=%~dp0
cd /d "%PROJECT_DIR%"

echo 📁 项目目录: %PROJECT_DIR%
echo.

:: 检查Python是否安装
python --version > nul 2>&1
if errorlevel 1 (
    echo ❌ 错误: 未检测到Python，请先安装Python 3.9+
    echo.
    echo 🔗 下载地址: https://www.python.org/downloads/
    echo.
    pause
    exit /b 1
)

echo ✅ Python版本检查:
python --version
echo.

:: 检查虚拟环境是否存在
if not exist "venv" (
    echo 🔧 创建虚拟环境...
    python -m venv venv
    if errorlevel 1 (
        echo ❌ 虚拟环境创建失败
        pause
        exit /b 1
    )
    echo ✅ 虚拟环境创建成功
)

:: 激活虚拟环境
echo 🔄 激活虚拟环境...
call venv\Scripts\activate.bat
if errorlevel 1 (
    echo ❌ 虚拟环境激活失败
    pause
    exit /b 1
)

echo ✅ 虚拟环境已激活
echo.

:: 检查依赖是否安装
echo 🔍 检查项目依赖...
python -c "import flask" > nul 2>&1
if errorlevel 1 (
    echo 📦 安装项目依赖...
    pip install -r requirements.txt --index-url https://pypi.org/simple/ --trusted-host pypi.org
    if errorlevel 1 (
        echo ❌ 依赖安装失败，尝试使用国内镜像...
        pip install -r requirements.txt -i https://pypi.douban.com/simple/ --trusted-host pypi.douban.com
        if errorlevel 1 (
            echo ❌ 依赖安装失败
            pause
            exit /b 1
        )
    )
    echo ✅ 依赖安装完成
) else (
    echo ✅ 项目依赖已安装
)

:: 检查关键库是否安装
echo 🔍 验证关键组件...
python -c "import psd_tools; print('✅ PSD文件处理支持')" 2>nul || echo "⚠️  PSD文件处理支持未安装"
python -c "import cv2; print('✅ OpenCV图像处理支持')" 2>nul || echo "⚠️  OpenCV图像处理支持未安装"
python -c "import PIL; print('✅ Pillow图像处理支持')" 2>nul || echo "⚠️  Pillow图像处理支持未安装"

echo.

:: 检查数据库
if not exist "database.db" (
    echo 🗄️  初始化数据库...
    python -c "from database import init_db; init_db()" 2>nul
    echo ✅ 数据库初始化完成
) else (
    echo ✅ 数据库文件存在
)

:: 创建必要目录
if not exist "uploads" mkdir uploads
if not exist "exports" mkdir exports
echo ✅ 目录结构检查完成

echo.
echo ===============================================
echo              🚀 启动服务器
echo ===============================================
echo.
echo 🌐 访问地址: http://localhost:5000
echo 🌐 局域网访问: http://%COMPUTERNAME%:5000
echo.
echo 💡 功能介绍:
echo    📋 底板管理 - 上传和管理PSD/TIF底板文件
echo    🤖 智能定位 - AI自动识别并定位图片
echo    📁 导出管理 - 管理生成的定制图片
echo.
echo ⏹️  停止服务: 按 Ctrl+C
echo ===============================================
echo.

:: 启动Flask应用
python run.py

:: 如果服务器意外退出，显示错误信息
if errorlevel 1 (
    echo.
    echo ❌ 服务器启动失败，请检查错误信息
    echo.
)

echo.
echo 🔚 服务器已停止
pause
